package com.macro.mall.portal.service;

import com.macro.mall.model.PmsComment;
import com.macro.mall.portal.domain.PmsCommentDetail;

import java.util.List;
import java.util.Map;

/**
 * 商品评价管理Service
 */
public interface PmsCommentService {
    /**
     * 添加评价
     */
    int create(PmsComment comment);

    /**
     * 分页查询评价
     */
    List<PmsComment> list(Long productId, Integer star, Integer pageSize, Integer pageNum);
    
    /**
     * 查询商品评价，优先返回当前用户的评价
     */
    Map<String, Object> listProductComments(Long productId, Integer star, Integer pageSize, Integer pageNum);
    
    /**
     * 统计商品评价情况（好评、中评、差评数量及好评率）
     */
    Map<String, Object> commentStatistics(Long productId);
    
    /**
     * 分页查询当前会员的评价
     */
    List<PmsCommentDetail> listMemberComments(Integer pageSize, Integer pageNum);
    
    /**
     * 获取评价详情
     */
    PmsCommentDetail getCommentDetail(Long id);

    /**
     * 根据ID查询评价详情
     */
    PmsComment getItem(Long id);

    /**
     * 批量修改显示状态
     */
    int updateShowStatus(List<Long> ids, Integer showStatus);

    /**
     * 批量删除评价
     */
    int delete(List<Long> ids);

    /**
     * 添加评价回复
     */
    int createReply(Long commentId, String content);
} 